home *** CD-ROM | disk | FTP | other *** search
- { Created: 1997-10-15 by Berend
-
- Translation of exchext.h, converted by hand, but using
- htrans 0.3.4 for certain pieces.
-
-
- $History$
-
- }
-
-
- unit ExchExt;
-
- interface
-
- uses
- Windows,
- CommCtrl,
- MapiDefs, MapiX, MapiForm;
-
-
- type
- LPTSTR = PChar;
- HINSTANCE = integer;
- LPMDB = pointer;
-
- (*
- * C o n s t a n t s
- *)
-
- // SCODEs
-
- const
- (*
- EXCHEXT_S_NOCRITERIA = MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 1);
- EXCHEXT_S_NOCHANGE = MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 2);
- *)
-
- // Flag for Unicode strings
- EXCHEXT_UNICODE = ($80000000);
- // Flag values for IExchExtCallback::GetVersion
- EECBGV_GETBUILDVERSION = ($00000001);
- EECBGV_GETACTUALVERSION = ($00000002);
- EECBGV_GETVIRTUALVERSION = ($00000004);
- // Build version value for IExchExtCallback::GetVersion
- EECBGV_BUILDVERSION_MAJOR = ($000d0000);
- EECBGV_BUILDVERSION_MAJOR_MASK = ($FFFF0000);
- EECBGV_BUILDVERSION_MINOR_MASK = ($0000FFFF);
- // Actual/Virtual version values for IExchExtCallback::GetVersion
- EECBGV_MSEXCHANGE_WIN31 = ($01010000);
- EECBGV_MSEXCHANGE_WIN95 = ($01020000);
- EECBGV_MSEXCHANGE_WINNT = ($01030000);
- EECBGV_MSEXCHANGE_MAC = ($01040000);
- EECBGV_VERSION_PRODUCT_MASK = ($FF000000);
- EECBGV_VERSION_PLATFORM_MASK = ($00FF0000);
- EECBGV_VERSION_MAJOR_MASK = ($0000FF00);
- EECBGV_VERSION_MINOR_MASK = ($000000FF);
- // Flag values for IExchExtCallback::GetMenuPos
- EECBGMP_RANGE = ($00000001);
- // Flag values for IExchExtCallback::GetNewMessageSite
- EECBGNMS_MODAL = ($00000001);
- // Flag values for IExchExtCallback::ChooseFolder
- EECBCF_GETNAME = ($00000001);
- EECBCF_HIDENEW = ($00000002);
- EECBCF_PREVENTROOT = ($00000004);
- // Extensibility contexts used with IExchExt::Install
- EECONTEXT_SESSION = ($00000001);
- EECONTEXT_VIEWER = ($00000002);
- EECONTEXT_REMOTEVIEWER = ($00000003);
- EECONTEXT_SEARCHVIEWER = ($00000004);
- EECONTEXT_ADDRBOOK = ($00000005);
- EECONTEXT_SENDNOTEMESSAGE = ($00000006);
- EECONTEXT_READNOTEMESSAGE = ($00000007);
- EECONTEXT_SENDPOSTMESSAGE = ($00000008);
- EECONTEXT_READPOSTMESSAGE = ($00000009);
- EECONTEXT_READREPORTMESSAGE = ($0000000A);
- EECONTEXT_SENDRESENDMESSAGE = ($0000000);
- EECONTEXT_PROPERTYSHEETS = ($0000000C);
- EECONTEXT_ADVANCEDCRITERIA = ($0000000D);
- EECONTEXT_TASK = ($0000000E);
- // Flag values for IExchExt::Install
- EE_MODAL = ($00000001);
- // Toolbar ids used with IExchExtCommands::InstallCommands
- EETBID_STANDARD = ($00000001);
- // Flag values for IExchExtCommands::QueryHelpText
- EECQHT_STATUS = ($00000001);
- EECQHT_TOOLTIP = ($00000002);
- // Flag values for IExchExtMessageEvents::OnXComplete
- EEME_FAILED = ($00000001);
- EEME_COMPLETE_FAILED = ($00000002);
- // Flag values for IExchExtAttachedFileEvents::OpenSzFile
- EEAFE_OPEN = ($00000001);
- EEAFE_PRINT = ($00000002);
- EEAFE_QUICKVIEW = ($00000003);
- // Flag values for IExchExtPropertySheets methods
- EEPS_MESSAGE = ($00000001);
- EEPS_FOLDER = ($00000002);
- EEPS_STORE = ($00000003);
- EEPS_TOOLSOPTIONS = ($00000004);
- // Flag values for IExchExtAdvancedCriteria::Install and ::SetFolder
- EEAC_INCLUDESUBFOLDERS = ($00000001);
-
-
- (*
- * S t r u c t u r e s
- *)
-
- // Hook procedure for IExchExtCallback::ChooseFolder
-
- type
- LPEECFHOOKPROC_dummy = function (_noname1 : HWND; _noname2 : UINT;
- _noname3 : WPARAM; _noname4 : LPARAM): HRESULT; stdcall;
- LPEECFHOOKPROC = LPEECFHOOKPROC_dummy;
-
- // Dialog information for IExchExtCallback::ChooseFolder
- PExchExtChooseFolder = ^TExchExtChooseFolder;
- TExchExtChooseFolder = record
- cbLength : UINT;
- hwnd : HWND;
- szCaption : LPTSTR;
- szLabel : LPTSTR;
- szHelpFile : LPTSTR;
- ulHelpID : ULONG;
- hinst : HINSTANCE;
- uiDlgID : UINT;
- lpeecfhp : LPEECFHOOKPROC;
- dwHookData : DWORD;
- ulFlags : ULONG;
- pmdb : LPMDB;
- pfld : IMAPIFOLDER;
- szName : LPTSTR;
- dwReserved1 : DWORD;
- dwReserved2 : DWORD;
- dwReserved3 : DWORD;
- end;
-
- // Toolbar list entries for IExchExtCommands::InstallCommands
- TBENTRY = record
- hwnd : HWND;
- tbid : ULONG;
- ulFlags : ULONG;
- itbbBase : UINT;
- end;
-
- LPTBENTRY = ^TBENTRY;
-
- (*
- * E x t e r n a l T y p e s
- *)
-
- (*
- * S u p p o r t I n t e r f a c e s
- *)
-
- type
- IExchExtModelessCallback = interface;
- IExchExtCallback = interface;
- IExchExt = interface;
- IExchExtModeless = interface;
-
-
-
- (*
- * IExchExtModelessCallback
- *
- * Purpose:
- * Interface which may be used by Exchange client
- * extensions that create modeless UI.
- *)
- IExchExtModelessCallback = interface(IUnknown)
- ['{00020D1A-0000-0000-C000-000000000046}']
- end;
-
-
- (*
- * IExchExtCallback
- *
- * Purpose:
- * Resource interface that may be used by Exchange client extensions.
- *)
-
- IExchExtCallback = interface(IUnknown)
- ['{00020D10-0000-0000-C000-000000000046}']
- function GetVersion(
- var lpulVersion: ULONG;
- ulFlags: ULONG): HResult; stdcall;
- function GetWindow(
- var hwnd: HWND): HResult; stdcall;
- function GetMenu(
- var hmenu: HMENU): HResult; stdcall;
- function GetToolbar(
- tbidl: ULONG ;
- var hwndTb: HWND): HResult; stdcall;
- function GetSession(
- var pses: IMAPISESSION;
- var pab: IADDRBOOK): HResult; stdcall;
- function GetObject(
- var lppmdb: LPMDB;
- var lppmp: IMAPIPROP): HResult; stdcall;
- function GetSelectionCount(
- var lpceid: ULONG): HResult; stdcall;
- function GetSelectionItem(
- ieid: ULONG;
- var lpcbEid: ULONG;
- var lppeid: PENTRYID;
- var lpulType: ULONG;
- lpszMsgClass: LPTSTR;
- cbMsgClass: ULONG;
- var lpulMsgFlags: ULONG;
- ulFlags: ULONG ): HResult; stdcall;
- function GetMenuPos(
- cmdid: ULONG;
- var hmenu: HMENU;
- lpmposMin: PULONG;
- lpmposMax: PULONG;
- ulFlags: ULONG): HResult; stdcall;
- function GetSharedExtsDir(
- lpszDir: LPTSTR;
- cchDir: ULONG;
- ulFlags: ULONG): HResult; stdcall;
- function GetRecipients(
- var lppal: PADRLIST): HResult; stdcall;
- function SetRecipients(
- lpal: PADRLIST): HResult; stdcall;
- function GetNewMessageSite(
- fComposeInFolder: ULONG;
- pfldFocus: IMAPIFOLDER;
- ppermsg: IPERSISTMESSAGE;
- var ppmsg: IMESSAGE;
- var ppmms: IMAPIMESSAGESITE;
- var ppmvc: IMAPIVIEWCONTEXT;
- ulFlags: ULONG): HResult; stdcall;
- function RegisterModeless(
- peem: IEXCHEXTMODELESS;
- var ppeemcb: IEXCHEXTMODELESSCALLBACK): HResult; stdcall;
- function ChooseFolder(
- peecf: PEXCHEXTCHOOSEFOLDER): HResult; stdcall;
- end;
-
-
-
-
- (*
- * E x t e n s i o n I n t e r f a c e s
- *)
-
- {*
- * IExchExt
- *
- * Purpose:
- * Central interface implemented by Exchange client extensions.
- *}
-
- IExchExt = interface(IUnknown)
- ['{00020D11-0000-0000-C000-000000000046}']
- function Install(
- eecb: IEXCHEXTCALLBACK;
- mecontext: ULONG;
- ulFlags: ULONG): HResult; stdcall;
- end;
-
-
- (*
- * IExchExtCommands
- *
- * Purpose:
- * Interface implemented by Exchange client extensions that wish to
- * add additional commands to the client's menus.
- *)
- IExchExtCommands = interface(IUnknown)
- ['{00020D12-0000-0000-C000-000000000046}']
- function InstallCommands(
- eecb: IEXCHEXTCALLBACK;
- hwnd: HWND;
- hmenu: HMENU;
- var cmdidBase: UINT;
- lptbeArray: LPTBENTRY;
- ctbe: UINT;
- ulFlags: ULONG): HResult; stdcall;
- procedure InitMenu(
- eecb: IExchExtCallback); stdcall;
- function DoCommand(
- eecb: IEXCHEXTCALLBACK;
- cmdid: UINT): HResult; stdcall;
- function Help(
- eecb: IEXCHEXTCALLBACK;
- cmdid: UINT): HResult; stdcall;
- function QueryHelpText(
- cmdid: UINT;
- ulFlags: ULONG;
- lpsz: LPTSTR;
- cch: UINT): HResult; stdcall;
- function QueryButtonInfo(
- tbid: ULONG;
- itbb: UINT;
- ptbb: PTBButton;
- lpsz: LPTSTR;
- cch: UINT;
- ulFlags: ULONG): HResult; stdcall;
- function ResetToolbar(
- tbid: ULONG;
- ulFlags: ULONG): HResult; stdcall;
- end;
-
-
- (*
- * IExchExtSessionEvents
- *
- * Purpose:
- * Interface implemented by Exchange client extensions that wish to
- * take special action when certain events happen in the session.
- *)
- IExchExtSessionEvents = interface(IUnknown)
- ['{00020D14-0000-0000-C000-000000000046}']
- function OnDelivery(eecb: IEXCHEXTCALLBACK): HResult; stdcall;
- end;
-
-
-
- (*
- * IExchExtModeless
- *
- * Purpose:
- * Interface implemented by Exchange client extensions that wish
- * to create modeless UI.
- *)
- IExchExtModeless = interface(IUnknown)
- ['{00020D19-0000-0000-C000-000000000046}']
- end;
-
-
- (*
- * G U I D s
- *)
-
- const
- IID_IExchExtCallback: TGUID = '{00020D10-0000-0000-C000-000000000046}';
- IID_IExchExt: TGUID = '{00020D11-0000-0000-C000-000000000046}';
- IID_IExchExtCommands: TGUID = '{00020D12-0000-0000-C000-000000000046}';
- IID_IExchExtUserEvents: TGUID = '{00020D13-0000-0000-C000-000000000046}';
- IID_IExchExtSessionEvents: TGUID = '{00020D14-0000-0000-C000-000000000046}';
- IID_IExchExtMessageEvents: TGUID = '{00020D15-0000-0000-C000-000000000046}';
- IID_IExchExtAttachedFileEvents: TGUID = '{00020D16-0000-0000-C000-000000000046}';
- IID_IExchExtPropertySheets: TGUID = '{00020D17-0000-0000-C000-000000000046}';
- IID_IExchExtAdvancedCriteria: TGUID = '{00020D18-0000-0000-C000-000000000046}';
- IID_IExchExtModeless: TGUID = '{00020D19-0000-0000-C000-000000000046}';
- IID_IExchExtModelessCallback: TGUID = '{00020D1A-0000-0000-C000-000000000046}';
-
-
- (*
- * C M D I D s
- *)
-
- // File
-
- const
- EECMDID_File = 10;
- EECMDID_FileOpen = 11;
- EECMDID_FileSend = 12;
- EECMDID_FileSave = 13;
- EECMDID_FileSaveAs = 14;
- EECMDID_FileMove = 16;
- EECMDID_FileCopy = 17;
- EECMDID_FilePrint = 25;
- EECMDID_FileNewEntry = 18;
- EECMDID_FileNewMessage = 19;
- EECMDID_FileNewFolder = 20;
- EECMDID_FileAddToPAB = 29;
- EECMDID_FileDelete = 21;
- EECMDID_FileRename = 22;
- EECMDID_FileProperties = 23;
- EECMDID_FilePropertiesRecipients = 24;
- EECMDID_FileClose = 30;
- EECMDID_FileExit = 32;
- EECMDID_FileExitAndLogOff = 33;
- // Edit
- EECMDID_Edit = 40;
- EECMDID_EditUndo = 41;
- EECMDID_EditCut = 42;
- EECMDID_EditCopy = 43;
- EECMDID_EditPaste = 44;
- EECMDID_EditPasteSpecial = 45;
- EECMDID_EditSelectAll = 46;
- EECMDID_EditMarkAsRead = 49;
- EECMDID_EditMarkAsUnread = 50;
- EECMDID_EditMarkToRetrieve = 52;
- EECMDID_EditMarkToRetrieveACopy = 53;
- EECMDID_EditMarkToDelete = 54;
- EECMDID_EditUnmarkAll = 55;
- EECMDID_EditFind = 56;
- EECMDID_EditReplace = 57;
- EECMDID_EditLinks = 59;
- EECMDID_EditObject = 60;
- EECMDID_EditObjectConvert = 61;
- EECMDID_EditFullShape = 62;
- EECMDID_EditHiraKataAlpha = 63;
- EECMDID_EditHangAlpha = 64;
- EECMDID_EditHanja = 65;
- EECMDID_EditRoman = 66;
- EECMDID_EditCode = 67;
-
-
- // View
-
- const
- EECMDID_View = 70;
- EECMDID_ViewFolders = 71;
- EECMDID_ViewToolbar = 72;
- EECMDID_ViewFormattingToolbar = 73;
- EECMDID_ViewStatusBar = 74;
- EECMDID_ViewNewWindow = 75;
- EECMDID_ViewColumns = 79;
- EECMDID_ViewSort = 78;
- EECMDID_ViewFilter = 80;
- EECMDID_ViewBccBox = 91;
- EECMDID_ViewPrevious = 87;
- EECMDID_ViewNext = 88;
- EECMDID_ViewWritingMode = 89;
- EECMDID_ViewImeStatus = 94;
-
-
- // Insert
- const
- EECMDID_Insert = 100;
- EECMDID_InsertFile = 101;
- EECMDID_InsertMessage = 102;
- EECMDID_InsertObject = 103;
- EECMDID_InsertInkObject = 104;
-
- // Format
- const
- EECMDID_Format = 110;
- EECMDID_FormatFont = 111;
- EECMDID_FormatParagraph = 112;
-
- // Tools
- const
- EECMDID_Tools = 120;
- EECMDID_ToolsDeliverNowUsing = 121;
- EECMDID_ToolsDeliverNow = 122;
- EECMDID_ToolsSpelling = 131;
- EECMDID_ToolsAddressBook = 123;
- EECMDID_ToolsCheckNames = 133;
- EECMDID_ToolsFind = 124;
- EECMDID_ToolsConnect = 126;
- EECMDID_ToolsUpdateHeaders = 127;
- EECMDID_ToolsTransferMail = 128;
- EECMDID_ToolsDisconnect = 129;
- EECMDID_ToolsRemoteMail = 130;
- EECMDID_ToolsCustomizeToolbar = 134;
- EECMDID_ToolsServices = 135;
- EECMDID_ToolsOptions = 136;
- EECMDID_ToolsWordRegistration = 137;
-
-
- // Compose
- const
- EECMDID_Compose = 150;
- EECMDID_ComposeNewMessage = 151;
- EECMDID_ComposeReplyToSender = 154;
- EECMDID_ComposeReplyToAll = 155;
- EECMDID_ComposeForward = 156;
-
- // Help
- EECMDID_Help = 160;
- EECMDID_HelpMicrosoftExchangeHelpTopics = 161;
- EECMDID_HelpAboutMicrosoftExchange = 162;
-
- // Header
- EECMDID_CtxHeader = 203;
- EECMDID_CtxHeaderSortAscending = 204;
- EECMDID_CtxHeaderSortDescending = 205;
-
- // In Folder
- EECMDID_CtxInFolder = 206;
- EECMDID_CtxInFolderChoose = 207;
-
- // Container
- EECMDID_CtxContainer = 208;
- EECMDID_CtxContainerProperties = 209;
-
- // Standard Toolbar
- EECMDID_Toolbar = 220;
- EECMDID_ToolbarPrint = 221;
- EECMDID_ToolbarReadReceipt = 222;
- EECMDID_ToolbarImportanceHigh = 223;
- EECMDID_ToolbarImportanceLow = 224;
- EECMDID_ToolbarFolderList = 225;
- EECMDID_ToolbarOpenParent = 226;
- EECMDID_ToolbarInbox = 76;
- EECMDID_ToolbarOutbox = 77;
- // Formatting Toolbar
- EECMDID_Formatting = 230;
- EECMDID_FormattingFont = 231;
- EECMDID_FormattingSize = 232;
- EECMDID_FormattingColor = 233;
- EECMDID_FormattingColorAuto = 234;
- EECMDID_FormattingColor1 = 235;
- EECMDID_FormattingColor2 = 236;
- EECMDID_FormattingColor3 = 237;
- EECMDID_FormattingColor4 = 238;
- EECMDID_FormattingColor5 = 239;
- EECMDID_FormattingColor6 = 240;
- EECMDID_FormattingColor7 = 241;
- EECMDID_FormattingColor8 = 242;
- EECMDID_FormattingColor9 = 243;
- EECMDID_FormattingColor10 = 244;
- EECMDID_FormattingColor11 = 245;
- EECMDID_FormattingColor12 = 246;
- EECMDID_FormattingColor13 = 247;
- EECMDID_FormattingColor14 = 248;
- EECMDID_FormattingColor15 = 249;
- EECMDID_FormattingColor16 = 250;
- EECMDID_FormattingBold = 251;
- EECMDID_FormattingItalic = 252;
- EECMDID_FormattingUnderline = 253;
- EECMDID_FormattingBullets = 254;
- EECMDID_FormattingDecreaseIndent = 255;
- EECMDID_FormattingIncreaseIndent = 256;
- EECMDID_FormattingLeft = 257;
- EECMDID_FormattingCenter = 258;
- EECMDID_FormattingRight = 259;
- // Note accelerators
- EECMDID_Accel = 270;
- EECMDID_AccelFont = 271;
- EECMDID_AccelSize = 272;
- EECMDID_AccelSizePlus1 = 273;
- EECMDID_AccelSizeMinus1 = 274;
- EECMDID_AccelBold = 275;
- EECMDID_AccelItalic = 276;
- EECMDID_AccelUnderline = 277;
- EECMDID_AccelLeft = 278;
- EECMDID_AccelCenter = 279;
- EECMDID_AccelRight = 280;
- EECMDID_AccelBullets = 281;
- EECMDID_AccelNoFormatting = 282;
- EECMDID_AccelRepeatFind = 283;
- EECMDID_AccelContextHelp = 284;
- EECMDID_AccelNextWindow = 285;
- EECMDID_AccelPrevWindow = 286;
- EECMDID_AccelCtrlTab = 287;
- EECMDID_AccelUndo = 288;
- EECMDID_AccelCut = 289;
- EECMDID_AccelCopy = 290;
- EECMDID_AccelPaste = 291;
- EECMDID_AccelSubject = 292;
- EECMDID_AccelContextHelpOff = 293;
- EECMDID_AccelDecreaseIndent = 294;
- EECMDID_AccelIncreaseIndent = 295;
- EECMDID_AccelColor = 296;
- // Edit.Object
- EECMDID_ObjectMin = 300;
- EECMDID_ObjectMax = 399;
- // Tools.Remote Mail
- EECMDID_RemoteMailMin = 600;
- EECMDID_RemoteMailMax = 699;
- // Tools.Deliver Now Using
- EECMDID_DeliverNowUsingMin = 700;
- EECMDID_DeliverNowUsingMax = 799;
- // Form verbs
- EECMDID_FormVerbMin = 800;
- EECMDID_FormVerbMax = 899;
- // For backward compatibility with earlier header versions
- EECMDID_ViewInbox = EECMDID_ToolbarInbox;
- EECMDID_ViewOutbox = EECMDID_ToolbarOutbox;
- EECMDID_ViewItemAbove = EECMDID_ViewPrevious;
- EECMDID_ViewItemBelow = EECMDID_ViewNext;
- EECMDID_ToolsFindItem = EECMDID_ToolsFind;
- EECMDID_HelpUsersGuideContents = EECMDID_HelpMicrosoftExchangeHelpTopics;
- EECMDID_HelpAbout = EECMDID_HelpAboutMicrosoftExchange;
-
-
- implementation
-
- end.
-